package com.itheima.service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.itheima.pojo.Book;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author by itheima
 * @Date 2022/4/27
 * @Description
 */
@Transactional//事务注解写在接口上，则所有实现该接口的bean对象都会被事务支持
public interface BookService {
    /**
     * 保存
     * @param book
     * @return
     */
    public boolean save(Book book);

    /**
     * 修改
     * @param book
     * @return
     */
    public boolean update(Book book);

    /**
     * 按id删除
     * @param id
     * @return
     */
    public boolean delete(Integer id);

    /**
     * 按id查询
     * @param id
     * @return
     */
    public Book getById(Integer id);

    /**
     * 查询全部
     * @return
     */
    public List<Book> getAll();

    /**
     * 分页查询
     * @param page 当前页
     * @param pageSize 每页的大小
     * @return
     */
    public PageInfo<Book> getByPage(Integer page, Integer pageSize);
}
